<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    /*
    filter() 方法创建给定数组一部分的浅拷贝，其包含通过所提供函数实现的测试的所有元素
    语法:
        filter(callbackFn)
        filter(callbackFn, thisArg) 

    参数
        callbackFn:为数组中的每个元素执行的函数。它应该返回一个真值以将元素保留在结果数组中，否则返回一个假值。该函数被调用时将传入以下参数：
          element:数组中当前正在处理的元素。
          index:正在处理的元素在数组中的索引。
          array:调用了 filter() 的数组本身。  
        thisArg可选:执行 callbackFn 时用作 this 的值。参见迭代方法。  
    返回值:
         返回给定数组的一部分的浅拷贝，其中只包括通过提供的函数实现的测试的元素。如果没有元素通过测试，则返回一个空数组。
     */
    const arr = [11, 2, 3, 4, 5, 6, 7, 8, 10]
    const newArr1=arr.filter((item,index,arr)=>{
      console.log(item,index,arr);
    })
    const newArr2=arr.filter((function(item,index,arr){
      return item%2===0
    }))
    console.log(newArr2);

  </script>
</body>

</html>